<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script type="text/javascript">
        var collection = {
    "1275":{
        "album":"依然范特西",
        "artist":"周杰伦",
        "tracks":[
            "听妈妈的话",
            "千里之外"
        ]
},
    "2468":{
        "album":"西界",
        "artist":"林俊杰",
        "tracks":[
            "西界",
            "杀手"
        ]
},
    "3245":{
        "artist":"许嵩",
        "tracks":[ ]
    },
    "5439":{
        "album":"遇见"
    }
}

//1.定义方法更新记录:
//function updateRecords(id,prop,value)
//要求：
//1).如果传入的value是一个空值，表示将该属性删除
//2).传入的prop如果是tracks，则代表添加，其他是修改
//3245 tracks '有何不可'
//3245 tracks ''   -->删
//5439 artist '孙燕姿'
//5439 album '逆光'


  //错误
// function updateRecords(records, id, prop, value) {
//   if(value=='') {
//     delete records[id][prop];
//   } else if (prop!="tracks"){
//        records[id][prop]=value;
//   } else if (prop=='tracks') {
//     if(!records[id].hasOwnProperty('tracks')) {
//       records[id][prop] = [];
//     }
//     // 这一步必须写在上面if的外层，否则当tracks不为空时，会重置内容，测试用例要求不改变内容
//     records[id][prop].push(value);
//   }
//   return records;
// }
 
// updateRecords(collection, 5439, 'album', '逆光');
// console.log(collection);



//--------------------------------------------------------

            //看别人的，不是自己做的
// const arrC = Object.keys(collection);
// function updateRecords(id,prop,value){

//     arrC.forEach(number=>{
//         if (id==number) {
//           console.log(collection[number]);
//             if (prop=='tracks') {

//                 if (value=='') {
//                     collection[number].tracks.splice(0,collection[number].tracks.length);
//                 }else{
//                     collection[number].tracks.push(value);
//                 }
//             }else{
//               collection[number][prop]=value;
//               // if (prop=='artist') {
//               //   collection[number][prop]=value
//               //   const Change={artist:value}
//               //   collection[number]=Object.assign(Change,collection[number])
//               // }
//             }
//         }
//     })

// }

// updateRecords(3245,'tracks','有何不可')
// // updateRecords(3245,'tracks','')
// // updateRecords(5439,'artist','孙燕姿')
// // updateRecords(5439,'album','逆光')
// console.log(collection);


    </script>
</body>
</html>